﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Waterfall_Chart
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            FarPoint.Win.Chart.WaterfallSeries wseries = new FarPoint.Win.Chart.WaterfallSeries();
            wseries.SeriesName = "Series0";
            wseries.CategoryNames.Add("一月");
            wseries.CategoryNames.Add("二月");
            wseries.CategoryNames.Add("三月");
            wseries.CategoryNames.Add("四月");
            wseries.CategoryNames.Add("五月");
            wseries.CategoryNames.Add("六月");
            wseries.CategoryNames.Add("七月");
            wseries.Values.Add(-2);
            wseries.Values.Add(8);
            wseries.Values.Add(18);
            wseries.Values.Add(22);
            wseries.Values.Add(28);
            wseries.Values.Add(33);
            wseries.Values.Add(40);
            wseries.Border = new FarPoint.Win.Chart.SolidLine(Color.Black);
            wseries.Fills.AddRange(new FarPoint.Win.Chart.Fill[] { null, null, null, new FarPoint.Win.Chart.GradientFill(Color.Red, Color.Orange), new FarPoint.Win.Chart.GradientFill(Color.Red, Color.Orange), new FarPoint.Win.Chart.GradientFill(Color.Red, Color.Orange), new FarPoint.Win.Chart.GradientFill(Color.Red, Color.Orange) });
            FarPoint.Win.Chart.YPlotArea plotArea = new FarPoint.Win.Chart.YPlotArea();
            plotArea.Location = new System.Drawing.PointF(0.2f, 0.2f);
            plotArea.Size = new System.Drawing.SizeF(0.6f, 0.6f);
            plotArea.Series.Add(wseries);
            plotArea.XAxis.Title = "Tempurature Increase";
            plotArea.XAxis.TitleOffset = 30;
            FarPoint.Win.Chart.ChartModel model = new FarPoint.Win.Chart.ChartModel();
            model.PlotAreas.Add(plotArea);
            FarPoint.Win.Spread.Chart.SpreadChart chart = new FarPoint.Win.Spread.Chart.SpreadChart();
            chart.Model = model;
            chart.Size = new Size(800, 400);
            chart.Location = new Point(100, 100);
            fpSpread1.Sheets[0].Charts.Add(chart);
        }
    }
}
